Mining Design Patterns from C++ Source Code

نویسندگان

  • Zsolt Balanyi
  • Rudolf Ferenc
چکیده

Design patterns are micro architectures that have proved to be reliable, easy-to implement and robust. There is a need in science and industry for recognizing these patterns. We present a new method for discovering design patterns in the source code. This method provides a precise specification of how the patterns work by describing basic structural information like inheritance, composition, aggregation and association, and as an indispensable part, by defining call delegation, object creation and operation overriding. We introduce a new XML–based language, the Design Pattern Markup Language (DPML), which provides an easy way for the users to modify pattern descriptions to suit their needs, or even to define their own patterns or just classes in certain relations they wish to find. We tested our method on four open-source systems, and found it effective in discovering design pattern instances.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Design Patterns Mining using Subgraph Isomorphism: Relational View

Design Pattern Detection is a part of many solutions to Software Engineering difficulties. The usage of design patterns leads to benefits for new and young developers by enabling them to reuse the knowledge of their experienced colleagues. Mining of design pattern instances is important for program understanding and software maintenance. Hence a reliable design pattern mining is required. Here ...

متن کامل

A fuzzy matching approach for design pattern mining

Mining design patterns from source code is significant for improving the intelligibility and maintainability of software. In this paper, we present a new design pattern matching method based on fuzzy, in which matrix model is used for describing both design pattern and source code, and design pattern’s static and dynamic information is defined as fuzzy attribute value for measuring the matching...

متن کامل

A Review of Design Pattern Mining Techniques

The quality of a software system highly depends on its architectural design. High quality software systems typically apply expert design experience which has been captured as design patterns. As demonstrated solutions to recurring problems, design patterns help to reuse expert experience in software system design. They have been extensively applied in industry. Mining the instances of design pa...

متن کامل

Comparison and evaluation of source code

Program source code substantially is structured and contains semantically rich programming constructs such as 6 variables, functions, data structures, and program structures which indicate patterns. Mining source code by using different data 7 mining techniques to extract the valuable hidden patterns is the new revolution in software engineering. Over last decade many 8 tools and techniques hav...

متن کامل

Mining Continuous Code Changes to Detect Frequent Program Transformations

Identifying repetitive code changes benefits developers, tool builders, and researchers. Tool builders can automate the popular code changes, thus improving the productivity of developers. Researchers would better understand the practice of code evolution, advancing existing code assistance tools even further. Developers would particularly benefit if such tools can learn and support repetitive ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2003